51 research outputs found

    Type-Directed Program Transformations for the Working Functional Programmer

    Get PDF
    We present preliminary research on Deuce+, a set of tools integrating plain text editing with structural manipulation that brings the power of expressive and extensible type-directed program transformations to everyday, working programmers without a background in computer science or mathematical theory. Deuce+ comprises three components: (i) a novel set of type-directed program transformations, (ii) support for syntax constraints for specifying "code style sheets" as a means of flexibly ensuring the consistency of both the concrete and abstract syntax of the output of program transformations, and (iii) a domain-specific language for specifying program transformations that can operate at a high level on the abstract (and/or concrete) syntax tree of a program and interface with syntax constraints to expose end-user options and alleviate tedious and potentially mutually inconsistent style choices. Currently, Deuce+ is in the design phase of development, and discovering the right usability choices for the system is of the highest priority

    Programmatic and Direct Manipulation, Together at Last

    Full text link
    Direct manipulation interfaces and programmatic systems have distinct and complementary strengths. The former provide intuitive, immediate visual feedback and enable rapid prototyping, whereas the latter enable complex, reusable abstractions. Unfortunately, existing systems typically force users into just one of these two interaction modes. We present a system called Sketch-n-Sketch that integrates programmatic and direct manipulation for the particular domain of Scalable Vector Graphics (SVG). In Sketch-n-Sketch, the user writes a program to generate an output SVG canvas. Then the user may directly manipulate the canvas while the system immediately infers a program update in order to match the changes to the output, a workflow we call live synchronization. To achieve this, we propose (i) a technique called trace-based program synthesis that takes program execution history into account in order to constrain the search space and (ii) heuristics for dealing with ambiguities. Based on our experience with examples spanning 2,000 lines of code and from the results of a preliminary user study, we believe that Sketch-n-Sketch provides a novel workflow that can augment traditional programming systems. Our approach may serve as the basis for live synchronization in other application domains, as well as a starting point for yet more ambitious ways of combining programmatic and direct manipulation.Comment: PLDI 2016 Paper + Supplementary Appendice

    Projectional Editors for JSON-Based DSLs

    Full text link
    Augmenting text-based programming with rich structured interactions has been explored in many ways. Among these, projectional editors offer an enticing combination of structure editing and domain-specific program visualization. Yet such tools are typically bespoke and expensive to produce, leaving them inaccessible to many DSL and application designers. We describe a relatively inexpensive way to build rich projectional editors for a large class of DSLs -- namely, those defined using JSON. Given any such JSON-based DSL, we derive a projectional editor through (i) a language-agnostic mapping from JSON Schemas to structure-editor GUIs and (ii) an API for application designers to implement custom views for the domain-specific types described in a schema. We implement these ideas in a prototype, Prong, which we illustrate with several examples including the Vega and Vega-Lite data visualization DSLs.Comment: To appear at VL/HCC 202

    Dependent types for JavaScript

    Full text link

    Global impact of tobacco control policies on smokeless tobacco use : A systematic review protocol

    Get PDF
    Introduction Smokeless tobacco (ST) was consumed by 356 million people globally in 2017. Recent evidence shows that ST consumption is responsible for an estimated 652 494 all-cause deaths across the globe annually. The WHO Framework Convention on Tobacco Control (FCTC) was negotiated in 2003 and ratified in 2005 to implement effective tobacco control measures. While the policy measures enacted through various tobacco control laws have been effective in reducing the incidence and prevalence of smoking, the impact of ST-related policies (within WHO FCTC and beyond) on ST use is under-researched and not collated. Methods and analysis A systematic review will be conducted to collate all available ST-related policies implemented across various countries and assess their impact on ST use. The following databases will be searched: Medline, EMBASE, PsycINFO, Cumulative Index to Nursing and Allied Health Literature, Scopus, EconLit, ISI Web of Science, Cochrane Library (CENTRAL), African Index Medicus, LILACS, Scientific Electronic Library Online, Index Medicus for the Eastern Mediterranean Region, Index Medicus for South-East Asia Region, Western Pacific Region Index Medicus and WHO Library Database, as well as Google search engine and country-specific government websites. All ST-related policy documents (FCTC and non-FCTC) will be included. Results will be limited to literature published since 2005 in English and regional languages (Bengali, Hindi and Urdu). Two reviewers will independently employ two-stage screening to determine inclusion. The Effective Public Health Practice Project's 'Quality Assessment Tool for Quantitative Studies' will be used to record ratings of quality and risk of bias among studies selected for inclusion. Data will be extracted using a standardised form. Meta-analysis and narrative synthesis will be used. Ethics and dissemination Permission for ethics exemption of the review was obtained from the Centre for Chronic Disease Control's Institutional Ethics Committee, India (CCDC-IEC-06-2020; dated 16 April 2020). The results will be disseminated through publications in a peer-reviewed journal and will be presented in national and international conferences. PROSPERO registration number CRD42020191946

    What do we know about chronic kidney disease in India: first report of the Indian CKD registry

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>There are no national data on the magnitude and pattern of chronic kidney disease (CKD) in India. The Indian CKD Registry documents the demographics, etiological spectrum, practice patterns, variations and special characteristics.</p> <p>Methods</p> <p>Data was collected for this cross-sectional study in a standardized format according to predetermined criteria. Of the 52,273 adult patients, 35.5%, 27.9%, 25.6% and 11% patients came from South, North, West and East zones respectively.</p> <p>Results</p> <p>The mean age was 50.1 Âą 14.6 years, with M:F ratio of 70:30. Patients from North Zone were younger and those from the East Zone older. Diabetic nephropathy was the commonest cause (31%), followed by CKD of undetermined etiology (16%), chronic glomerulonephritis (14%) and hypertensive nephrosclerosis (13%). About 48% cases presented in Stage V; they were younger than those in Stages III-IV. Diabetic nephropathy patients were older, more likely to present in earlier stages of CKD and had a higher frequency of males; whereas those with CKD of unexplained etiology were younger, had more females and more frequently presented in Stage V. Patients in lower income groups had more advanced CKD at presentation. Patients presenting to public sector hospitals were poorer, younger, and more frequently had CKD of unknown etiology.</p> <p>Conclusions</p> <p>This report confirms the emergence of diabetic nephropathy as the pre-eminent cause in India. Patients with CKD of unknown etiology are younger, poorer and more likely to present with advanced CKD. There were some geographic variations.</p

    Maniposynth: Bimodal Tangible Functional Programming

    Get PDF
    • …
    corecore